/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upn.sigemfi.plt.converter;

import edu.upn.sigemfi.plt.be.TipoCuenta;
import edu.upn.sigemfi.plt.beans.CuentaController;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;

/**
 *
 * @author Administrador
 */
public class TipoCuentaConverter implements Converter {

    public Object getAsObject(FacesContext arg0, UIComponent arg1, String string) throws ConverterException {
        if (string == null) {
            return null;
        }
        try {
            CuentaController cc = (CuentaController) FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(), "CuentaController");
        //hasta aqui se tiene la instancia del controller
        //buscar ese controler para poder usar todo las marcas
//                String[] datos = string.split(";");
//                BigInt codigo = Integer.parseInt(datos[0]);
//                Long codigo = Long.parseLong(datos[0]);
//                String nombre = datos[1];
//                for (Marca m : cc.getMarcas()) {
//                    if (m.getNombre().equals(nombre) && m.getCodigo().equals(codigo)) {
//                        return m;
//                    }
//                }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public String getAsString(FacesContext arg0, UIComponent arg1, Object object) throws ConverterException {
        if (object == null) {
            return null;
        }
        if (object instanceof TipoCuenta) {

            TipoCuenta tipoCuenta = (TipoCuenta) object;
            return tipoCuenta.getIdTipoCuenta().toString() + ";" + tipoCuenta.getNombre();
        }
        return null;
    }
}
